package br.ufrj.pesc.solr;

import java.util.Date;
import java.util.List;
import java.util.Map;

import br.com.gpetec.mom.domain.entidades.Orientacao;
import br.com.gpetec.mom.domain.entidades.OrientacaoClassificador;
import br.com.gpetec.mom.domain.solr.documents.Documento;

public interface ISearchHandler {

	public void salvarRotulacaoManual(String solrId,
			OrientacaoClassificador orientacao);

	public List<Documento> recuperaDocumentos(String queryString, Date de,
			Date ate);

	public List<Documento> recuperaDocumentosTortaMencao(String nome,
			Date dataInicio, Date dataFim, List<String> fontes);

	public List<Documento> recuperaDocumentosTortaOpiniao(String nome,
			String orientacao, Date dataInicio, Date dataFim,
			List<String> fontes);

	public List<Documento> recuperaDocumentosLinhaOpiniao(String nome,
			Date data, String orientacao, List<String> fontes);

	public List<Documento> recuperaDocumentosLinhaMencao(String nome,
			Date data, List<String> fontes);

	public List<Documento> recuperaDocumentosTagCloud(String nome,
			String palavra, Date dataInicio, Date dataFim, List<String> fontes);

	public Documento recuperaDocumentoEntidade(String nome);

	public Map<String, Integer> recuperaTermos(String nome, Date dataInicio,
			Date dataFim, List<String> fontes);

	public List<Integer> recuperaMencoes(String nome, Date dataInicio,
			Date dataFim, List<String> fontes);

	public Map<Orientacao, List<Integer>> recuperaOrientacao(String nome,
			Orientacao orientacao, Date dataInicio, Date dataFim,
			List<String> fontes);

	public Map<Orientacao, List<Double>> recuperaOrientacaoPonderada(
			String nome, Orientacao orientacao, Date dataInicio, Date dataFim,
			List<String> fontes);

}
